The increasing complexity of aircraft avionics, navigation and weapons systems has resulted in a proliferation of keys, switches and controls within a limited cockpit area. Reduction in the number of keys would simplify equipment configurations and reduce crew workload. One known method of reducing the number of keys is to provide a multifunction keyboard comprising keys that are capable of performing different functions at different times. "Key" is here used in the broad sense to include any manually operated signalling means. A number of simple, multifunction keyboard applications are in widespread use. The handheld calculator is an example wherein many keys perform two functions based upon the activation of a dedicated "second function" key, the corresponding second function usually being printed under each key. Another technique uses multiple back-lit films to display up to twelve selectable legends on one key. Systems of this type are clearly limited by the number of fixed legends available.
To overcome the limitation of fixed legends, programmable multifunction keyboards have been developed. One example of a prior programmable multifunction keyboard is a system that displays, on a small CRT, the legends associated with bezel mounted switches on the CRT perimeter. Such systems achieve a significant level of versatility and adaptability be enabling the legends and functions associated with each switch to be modified both before the system is installed and during operation of the system. Prior programmable multifunction key systems have not, however, achieved the full potential inherent in such systems. Design of a programmable multifunction keyboard system involves the creation of a complex "logic network" that specifies the interrelationship between different sets of key configurations. For example, a control system may be initialized to a key configuration in which each key specifies a general subsystem that the operator may wish to select. Activation of a key corresponding to a particular subsystem may then produce a key configuration corresponding to possible operations within that subsystem. Activation of the key for a particular operation may then produce a configuration corresponding to available suboperations, etc. As more operations are performed with a given small number of programmable keys, the complexity of the logic network grows rapidly. Therefore one important attribute of a multifunction keyboard system is the comparative difficulty of designing and of modifying the design of the system, and in particular the logic network, to optimize system performance. Unfortunately, the design of prior programmable multifunction keyboards has not provided easy-to-modify systems, and the usefulness of such prior keyboard systems has therefore been limited.
A second important attribute of programmable multifunction keyboard systems is the extent to which such systems include features that reduce operator error. For example in cockpit applications, it would be very desirable to adjust the intensity of the key legend display to provide good visibility under all conditions. It would further be desirable to provide means, such as blinking, to highlight certain switches under certain conditions. Finally, it would be desirable to provide a programmable multifunction keyboard system that is capable of monitoring the keys for malfunction, and of automatically reconfiguring itself when a defective key is detected.